package com.hc.query;

import com.hc.common.utils.JsonUtil;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;

import java.util.ArrayList;
import java.util.List;

/**
 * 用户发表评论时的评论项
 *
 * @author hc
 * @date 2021/12/24 10:09
 */
@Getter
@Setter
@ToString
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class CommentItem {
    /**
     * 图片，最多5张 [aa.pg,bb.jpg,cc.jpg]
     */
    @ApiModelProperty(value = "图片，最多5张 [aa.jpg,bb.jpg,cc.jpg]")
    private String pics;

    /**
     * 评论内容
     */
    @ApiModelProperty(value = "评论内容")
    private String content;


    /**
     * 上一级评论编号，如果为null表示是购买者评论
     */
    @ApiModelProperty(value = "上一级评论编号，如果为null表示是购买者评论")
    private Integer pid;

    /**
     * 用户编号
     */
    @ApiModelProperty(value = "用户编号")
    private Long userId;

    /**
     * 订单编号
     */
    @ApiModelProperty(value = "订单编号")
    private String orderId;

    /**
     * sku编号
     */
    @ApiModelProperty(value = "sku编号")
    private Integer skuId;

    /**
     * 星级：1~5
     */
    @ApiModelProperty(value = "星级：1~5")
    private Integer stars;
    /**
     * 评论选择的标签的id的列表
     */
    @ApiModelProperty(value = "评论选择的标签的id的列表")
    private List<Integer> tagList;

    /**
     * 生成测试数据
     *
     * @param args
     */
    public static void main(String[] args) {
        List<CommentItem> list = new ArrayList<>();
        CommentItem commentItem1 = CommentItem.builder()
                .pics("[\"aa.jpg\", \"bb.jpg\", \"cc.jpg\"]")
                .pid(null)
                .content("好的很")
                .userId(220L)
                .orderId("1473568663356424194")
                .skuId(10)
                .stars(3)
                .tagList(List.of(3, 5, 8))
                .build();
        list.add(commentItem1);
        CommentItem commentItem2 = CommentItem.builder()
                .pics("[\"aa.jpg\", \"bb.jpg\", \"cc.jpg\"]")
                .pid(null)
                .content("不错")
                .userId(220L)
                .orderId("1473568663356424194")
                .skuId(15)
                .stars(4)
                .tagList(List.of(5, 2, 9))
                .build();
        list.add(commentItem2);
        CommentItem commentItem3 = CommentItem.builder()
                .pics("[\"aa.jpg\", \"bb.jpg\", \"cc.jpg\"]")
                .pid(null)
                .content("错")
                .userId(220L)
                .orderId("1473568663356424194")
                .skuId(25)
                .stars(1)
                .tagList(List.of(1, 11, 7))
                .build();
        list.add(commentItem3);

        System.out.println(JsonUtil.obj2String(list));
    }
}